// function add(arg1, arg2) {
//     return arg1 + arg2
// }

// add(10, 20)
// add("abc", "cba")
// add({ aaa: "aaa" }, 123)

// 1.实现两个函数
// function add1(num1: number, num2: number) {}

// 2.错误做法:联合类型

// 3.TypeScript中函数的重载写法
// 3.1 先编写重载签名
function add(arg1: number, arg2: number): number
function add(arg1: string, arg2: string): string

// 3.2.编写通用的函数实现
// 注意: 有实现体的函数,是不能直接被调用的
function add(arg1: any, arg2: any): any {
    return arg1 + arg2
}

add(10, 20)
add("10", "20")
// 通用函数不能被调用
// add({ name: "123" }, "123")
// add("111", 111)

export {}